'use strict'
//const webpack = require('webpack');
const path = require('path');
function resolve (dir) {
  return path.join(__dirname, dir)
}
require('events').EventEmitter.defaultMaxListeners = 0

const CompressionWebpackPlugin = require("compression-webpack-plugin");

module.exports = {
  lintOnSave:false,
  outputDir: 'zero-meeting-web',
  publicPath: '/zero-meeting-web',
   //TODO gzip压缩，暂不启用
  /*configureWebpack: (config) => {
    // 开发环境不需要gzip
    if (process.env.NODE_ENV !== "production") return;
    config.plugins.push(
      new CompressionWebpackPlugin({
        // 正在匹配需要压缩的文件后缀
        test: /\.(js|css|svg|woff|ttf|json|html)$/,
        // 大于10kb的会压缩
        threshold: 10240,
        deleteOriginalAssets: true// 是否删除原文件
      })
    );
  },*/

  chainWebpack: (config) =>{
    config.resolve.alias.set('@', resolve('src'))
      .set('~', resolve('src/components/common'));
  },

  //是否使用包含运行时编译器的 Vue 构建版本
  runtimeCompiler: true,

  // 部署应用时的基本 URL
  //publicPath: '/',

  //publicPath: process.env.NODE_ENV === 'production' ? '192.168.60.110:8080' : '192.168.60.110:8080',
  // 如果你不需要生产环境的 source map，可以将其设置为 false 以加速生产环境构建
  productionSourceMap: false,

  devServer: { //跨域
    port: "8999", //端口号
    open: true, //配置自动启动浏览器
    proxy: { //配置跨域处理 可以设置多个
      '/zero-meeting-manager/':{
        target: 'https://chekuoffice.cn/',
        changeOrigin: true,
        secure: false, // 如果是https接口，需要配置这个参数
        pathRewrite: {
          '^/pathRewrite': '/pathRewrite'
        }
      },
      '/zero-file-service/':{
        target: 'https://chekuoffice.cn/',
        changeOrigin: true,
        secure: false, // 如果是https接口，需要配置这个参数
        pathRewrite: {
          '^/pathRewrite': '/pathRewrite'
        }
      }
    }
  },
  //需要npm install style-resources-loader ; 然后执行 vue add style-resources-loader 选择预编译less
  pluginOptions: {
    'style-resources-loader': {
      preProcessor: 'less',
      patterns: ['src/assets/common/css/theme.less']
    }
  },

  transpileDependencies:['quill-image-uploader', 'vue-contextmenujs']
}
